package com.xxx.common.utils;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.lang3.math.NumberUtils;

/**
 * @ClassName: DateUtil 
 * @Description: 时间工具类
 */
public class DateUtil {
	
	
	public static final SimpleDateFormat DATE_FORMAT_DATE_YYMM = new SimpleDateFormat("yyyyMM");
	
	public static final SimpleDateFormat DATE_FORMAT_LONG_D = new SimpleDateFormat("yyyyMMdd");
	
	public static final SimpleDateFormat DATE_FORMAT_LONG_M = new SimpleDateFormat("yyyyMMddHHmm");

	public static final SimpleDateFormat DATE_FORMAT_LONG_S = new SimpleDateFormat("yyyyMMddHHmmss");
	
	public static final SimpleDateFormat DATE_FORMAT_DATE_D = new SimpleDateFormat("yyyy-MM-dd");
	
	public static final SimpleDateFormat DATE_FORMAT_DATE_M = new SimpleDateFormat("yyyy-MM-dd HH:mm");
	
	public static final SimpleDateFormat DATE_FORMAT_DATE_S = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	
	
	/**
	 * @Title: dateToLong 
	 * @Description: 获取时间 格式:yyyyMMddHHmmss
	 * @return
	 */
	public static long dateToLong(){
		return NumberUtils.toLong(getTime(System.currentTimeMillis(), DATE_FORMAT_LONG_S));
	}
	
	/**
	 * @Title: longToString 
	 * @Description: 这里用一句话描述这个方法的作用
	 * @param currentTime yyyyMMddHHmmss格式时间
	 * @param dateFormat  新的时间格式
	 * @return
	 */
	public static String longToString(long currentTime,SimpleDateFormat dateFormat){
		Date date = null;
		try {
			date = DATE_FORMAT_LONG_S.parse(currentTime + "");
		} catch (Exception e) {
			date = new Date();
			e.printStackTrace();
		}
		return dateFormat.format(date);
	}
	
	/**
	 * @Title: getTime 
	 * @Description: 时间戳格式话
	 * @param timeInMillis 时间戳
	 * @param dateFormat 格式化
	 * @return
	 */
	public static String getTime(long timeInMillis, SimpleDateFormat dateFormat) {
		return dateFormat.format(new Date(timeInMillis));
	}
	
	/**
	 * @Title: getTime 
	 * @Description: 时间格式化
	 * @param date 时间
	 * @param dateFormat 格式化
	 * @return
	 */
	public static String getTime(Date date, SimpleDateFormat dateFormat) {
		return dateFormat.format(date);
	}
	
}
